#ifndef SCREEN_H_INCLUDED
#define SCREEN_H_INCLUDED

#include <SDL.h>
#include "Singleton.h"
#include "Vec2.h"
//Screen class wont be a singleton if want to have a dual-screen game 
class Screen : public Uncopyable
{
private:	
	Screen();
	friend class Singleton<Screen>;
	
public:
	~Screen();
	bool CreateWindow(int width, int height);
	void Flip();
	SDL_Surface* GetSurface();

	inline int GetScreenRatio() { return SCREENRATIO; };
	inline Vec2i GetScreenSize() { return SCREENSIZE; }

private:
	SDL_Surface* m_surface;
	Vec2i SCREENSIZE;
	int SCREENRATIO;
};

typedef Singleton<Screen> TheScreen;

#endif